package Object类.对象比较equals方法;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 姚东名
 * Date: 2024-06-19
 * Time: 15:35
 */
/*
对象比较equals方法
在Java中，==进行比较时：
- 如果==左右两侧是基本数据类型，比较的是变量中的值是否相同
- 如果==左右两侧是引用类型变量，比较的是引用变量的地址是否相同
- 如果要比较对象内容，必须重写Object中的equals方法，因为equals方法默认是按照地址进行比较的：
    public boolean equals(Object obj) {
        return (this == obj);
    }
 */

class Person {
    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
}
public class Test {
    public static void main(String[] args) {
        Person person1 = new Person("张三", 15);
        Person person2 = new Person("张三", 15);

        int a = 10;
        int b = 10;

        System.out.println(a == b);//true
        //理论来讲，名字相同，年龄相同，可以看成是一个人，但是比较不出来：
        System.out.println(person1 == person2);//false
        System.out.println(person1.equals(person2));//false
    }
}
